查看原文
其他

访谈|探索 Wasm 合约的无限可能

橙汁 Patract开放平台 2021-10-13


Wasm,即 WebAssembly,是一种用来补充 JS 在运行上不足的“低级”语言——基于二进制编写。其目标之一正是达到在网页上如同运行机器语言一样快速高效。其开发团队分别来自Mozilla、Google、Microsoft、Apple,代表着四大网络浏览器 Firefox、Chrome、Microsoft Edge、Safari。
 
Wasm 虽然一开始是为浏览器设计的虚拟机,但它的主机独立性、安全沙箱和整体简洁性等特性使其成为智能合约的理想运行时。此外,它还允许使用多种现代编程语言(Rust、C++、JavaScript 等)开发合约。以太坊团队一直在试用一个基于 WebAssembly 的合约引擎 eWasm,并计划在 2021 年的某个时候正式发布它。以太坊不是唯一一家正在调研 WebAssembly 技术的区块链企业。还有很多人都在押注这项技术,包括 Polkadot、NEAR、Tron、EOS、Dfinity 等等——它似乎已成为构建新一代区块链网络的事实标准。那么 Wasm 合约可以应用在哪些场景呢?
 
今年 ParityAsia 组织的 Substrate 开发者黑客马拉松创业大赛 Polkadot Hackathon,吸引了一群 Substrate 技术爱好者聚集。从大赛初期开始 Patract 一直关注 Hackathon 的实时动态,并对 Wasm 合约的参赛项目设立了额外奖励。近日我们报道过 Hackathon 中的5个基于 Wasm 合约开发的参赛项目,感兴趣的阅览这篇文章
 
就在昨天,有 21 支队伍晋级决赛 Demoday,其中4个 Wasm 合约的参赛项目也被入选,他们分别是:inkBridge、SubLend、SkyePass、
Ares
 
inkBridge 使用 Wasm 合约技术构建转接桥。可以部署到所有支持Wasm合约的平行链,把多条公链(BTC, ETH等)的转接桥下沉为平台,而不是单一应用。社区项目方可以调用合约形态存在的已有功能,还可以使用合约改造已有功能。我们仅提供转接桥的基础功能,支持自定义格式的跨链交易验证,交由上层应用自由发挥产品。
 
SubLend 是基于 Substrate ink! 实现的借贷合约模块,可以部署到所有支持 Wasm 合约的平行链。通过提供一种信用委托式的贷款,区别于超额抵押借贷模式,类似于白条和亲密付的结合体,提高储备资金的利用率。同时提供固定利率贷款,满足一些传统金融机构对可预测财务支出的需求。可有效解决 DeFi 借贷协议中储备金流动性的问题和财务支出不可预测的问题。
 
SkyePass 是一个基于 IPFS 和 Substrate Wasm 智能合约的去中心化密码和身份管理方案(IAM)。表层上旨在构建一个开源,去中心化和可拓展的 1Password/Lastpass 替代品。深层上希望可以实现链下公共身份和私有身份的提供方案。SkyePass 的参赛类别分别是智能合约、NFT 和社交网络。
 
Ares 是基于 Substrate 框架开发,支持混合Babe和链下工作机的随机安全预言机解决方案,融合波卡最新的链上治理,将前沿的 Optimistic Rollup 挑战模型带入预言机领域,支持 ink!合约,给 DeFi 生态带来更优质的预言机体验。
 
为了了解他们选择 Wasm 合约的原因以及如何看待 Wasm 合约这门技术,我们找到了负责 inkBridge 产品定义与前后端业务逻辑的设计的秋水、 在 Sublend 负责写 Token 相关函数的小李、SkyePass 专注于研究 Wasm 技术的周松、在 Ares 负责 Pallet 预言机功能的开发和与 ink 合约交互的寄意兰舟4位开发者,进行了一次访谈。




你们当初为什么选择

Wasm 合约开发项目?






秋水-inkBridge :有4个原因。

其一,Wasm 合约编写非常简单,容易上手。相对于平行链的开发难度更低,不用掌握整个 Substrate 和 XCMP 通信协议等底层框架,只需要会 ink 框架即可。可以说开发效率更高,成本更低。我们的开发同学只花了几天时间学习就可以进行开发了。
 
其二,看好波卡生态,对跨链的未来充满愿景。而当前波卡生态比较完善的就是 Wasm 合约,同时也有 Patract 的开发套件帮助我们来节省开发时间。
 
其三,项目部署成本更低。相对于需要插槽的平行链来说只需要支付一笔部署费用,成本低,适合我们小团队的启动。
 
其四,Wasm 合约具有通用性,使用 Wasm 合约技术构建可以部署到所有支持 Wasm 合约的平行链。相对来说可以接入的生态就更广了。
 
小李-SubLend:不需要自己部署平行链;尝试用 ink 实现一些想法。
 
周松-SkyePass :一部分认为 Substrate 的 Pallet 那部分的代码逻辑会有通用的地方,毕竟没有 OpenZeppelin 那样的库。
 
另一部分是认为作为 Substrate 原生的模块各种兼容性的坑会比较少,比如合约里调用链的信息。而且很多 Solidity 的坑,基本被 Rust 在编译的时候就躲掉了。
 



你们使用 Patract 的开发工具

      时有什么建议或感受么? 






秋水-inkBridge :Patract 的合约工具非常完善,也非常好用,大大提高了开发效率。尤其是 Europa + Redspot 的组合,可以是开发者非常方便的调试和部署合约,Europa 提供了 Wasm 虚拟机堆栈打印和日志打印功能,开发者可以根据打印的信息判断合约开发中出现的问题,Redspot 提供了脚本化的合约编译调试和部署,提高了开发效率。希望继续完善,提供更多更强大的工具。
 
小李-SubLend:Redspot 脚手架提供了类似用 Truffle 开发 Solidity 合约的体验,方便快速的测试和调试合约;可以直接部署合约到 Jupiter 测试网,方便团队进行测试。我们的合约最后部署在 Jupiter 测试链上,开发的 DApp 已经上了 Patract 的 PatraStore。
 
 
周松-SkyePass :我们主要使用了 Redspot,感觉带我们跳过了很多坑,对入门的开发者来说非常友好。总体感受是文档不够多,建议之后做好 GitHub 的 Readme ,多加一些真实项目的案例。我感觉很多开发过程中的难点,文档 Stackoverflow 有些少,主要靠别人项目代码去领悟。
 



你们为什么选择集成

Wasm 合约模块设计呢?






寄意兰舟-Ares:从去年 DeFi 的发展过程我们发现在 Compound、YFI、Uniswap 火热的同时预言机板块 Chainlink、Nest、Band 也在轮动,预言机只有解决 DeFi 的真实需求,和 DeFi 深度绑定才能获得更好的发展。目前 DeFi 的实现方式都是通过链上合约来完成的,Ares 通过引入 Wasm 合约模块,建立一个去中心化服务 DeFi 的预言机平台,让开发者不需要了解过多的区块链底层知识即可在 Ares 网络中快速的获取丰富链下数据,快速的构建一个 DeFi 应用,给 DeFi 生态带来更原生优质的预言机体验。
 



 你如何看待 Wasm 合约

        这门技术的呢?





 
秋水-inkBridge :Wasm 虚拟机是目前区块链最受欢迎的合约执行引擎,Wasm 合约拥有比 EVM 合约更强大的表达能力和性能。支持基于 Rust 的 ink!,或基于 AssemblyScript 的 Ask!等可以编译至 Wasm 的上层语言,可以吸引更多的开发者,同时也能开发出更复杂的业务逻辑。
 
小李-SubLend :我觉得这是智能合约的一个机会,之前要学习专门的语言,现在只要能编译成 Wasm 的语言都可以写合约,会吸引不同语言背景的开发者(Rust,JS,C++等)加入到合约开发过程中,开发人群增大了。
 
周松-SkyePass :Wasm 是我最开始从 EOS知道的。印象上来说相较于 Solidity,Wasm 更严谨 、更可移植的。Solidity 给我的印象是比较 Hacky 的一套东西,个人感觉 Wasm 更正统一点。这次 Substrate 黑客松上大家都开发平行链,感觉是让更多开发者熟悉 Rust 环境的好机会。我是喜欢 Wasm 这个技术本身的,然而大多数行业资源都放着投机去了,为此感到心疼。
 
寄意兰舟-Ares:Wasm 作为最新的虚拟机运行环境,是区块链发展的一个前沿方向。在以太坊 EVM上 做过合约开发的小伙伴,可以看到 EVM 难以调试,无法承载复杂的应用。而 Wasm 支持更多的开发语言,让开发者无需学习一门新语言即可快速的上手合约开发,Wasm 接口设计的通用性带来了链上升级,让区块链不再受硬分叉的困扰,通过链上治理即可快速的升级区块链节点。还有一个区别是,在以太坊里面写的一些预编译合约只能以硬编码的形式存在,在波卡上可以开发出 Pallet 这种可编译为 Wasm 的新的区块链结构,让开发者享受更多的便利。
 


后记





通过这次的访谈我们发现,Wasm 合约技术已经逐渐在区块链技术开发者当中尝试并看好。最后,让我们一同拭目以待,未来的 Wasm 能够引领新一轮的区块链技术变革。
 
而同样专注于波卡 Wasm 合约开发的开放平台 Patract,也将启动 Wasm 合约系统平行链完善全套开发技术,帮助社区平行链设计和开发链上合约模块和 Runtime 支持,并且为 DApp 开发者提供覆盖开发、测试、调试、部署、监控、数据提供和前端开发等阶段的全栈工具和服务支持,加速智能合约行业向 Wasm 技术栈的转变。

About Patract

Patract 为波卡 Wasm 合约生态的平行链和 DApp 开发提供解决方案。我们帮助社区平行链设计和开发链上合约模块和 Runtime 支持,并且为 DApp 开发者提供覆盖开发、测试、调试、部署、监控、数据提供和前端开发等阶段的全栈工具和服务支持。

How to join Patract

1.对于合约开发者,可以访问官网 (https://patract.io),熟悉测试链和工具套件。欢迎加入官方开发群 :
Element
(https://app.element.io/#/room/#PatractLabsDev:matrix.org)
Discord(https://discord.gg/Y5dF2N57mN)
 
2.对于用户,欢迎加入:
Telegram(https://t.me/patract)
Twitter(https://twitter.com/PatractLabs)

3.对于求职者,我们在招聘 Substrate 链开发、Wasm 开发、合约开发和审计、前端开发、项目管理、产品经理、运营经理等岗位,可以联系 sean@patract.network。
: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存